package com.qdlc.p2p.biz.service;

import java.util.List;

import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.ReceivingInfo;
import com.qdlc.p2p.dal.dto.User;
import com.qdlc.p2p.dal.model.AdditionalCommodityModel;
import com.qdlc.p2p.dal.model.ReceivingInfoModel;

/**
 * 收货地址信息Service
 * @author xxx
 * @version 2.0
 * @date 2015年6月23日 下午1:42:37
 */
public interface ReceivingInfoService {

	/**
	 * 保存
	 * @param receivingInfo
	 */
	void save(ReceivingInfo receivingInfo);

	/**
	 * 获取收货地址列表
	 * @param user
	 * @return
	 */
	List<ReceivingInfo> list(User user) ;

	/**
	 * 收货地址计数
	 * @param user
	 * @return
	 */
	int count(User user);
	
	ReceivingInfo find(long id);
	
	void update(ReceivingInfo receivingInfo);

	/**
	 * 设置默认地址
	 * @param model
	 */
	void setDefultReceivingInfo(ReceivingInfo model);
	
	/**
	 * 删除/禁用
	 * @param id
	 * @param userId
	 */
	void disable(long id, long userId);
	
	/**
	 * 获取返回model
	 * 业务处理：如果没有默认地址，则第一条为默认地址
	 * @param user
	 * @return
	 */
	List<ReceivingInfoModel> ListModel(User user);

	/**
	 * 获取返回pageModel
	 * 业务处理：如果没有默认地址，则第一条为默认地址
	 * @return
	 */
	PageDataList<ReceivingInfoModel> list(ReceivingInfoModel model);
}
